// 引用一个包
const path=require('path')
const htmlWebpackPlugin=require('html-webpack-plugin')
const {CleanWebpackPlugin} =require('clean-webpack-plugin')
module.exports={
    entry:'./src/index.ts',
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'bundle.js',
        //  指定环境是否使用箭头函数
        environment:{
            arrowFunction:false
        }
    },
    module:{
        // 指定loader规则
        rules:[
            {
                test:/\.ts$/,
                use:[
                    {
                    loader:'babel-loader',
                    options:{
                        // 设置预定义的环境
                        presets:[
                            [
                                // 指定环境的插件
                                "@babel/preset-env",
                                // 配置信息
                                {
                                    // 要构建的目标浏览器
                                    targets:{
                                        "chrome":'58'
                                    },
                                    // 指定corejs的版本
                                    "corejs":'3',
                                    // "usage"表示按需加载
                                    "useBuiltIns":"usage"
                                }
                            ]
                        ]
                    }
                },
                    'ts-loader'],
                exclude:/node_modules/
            },

        ]
    },
    plugins:[
        new CleanWebpackPlugin(),
        new htmlWebpackPlugin({
            template:'./src/index.html'
        }),
    ],
    resolve:{
        extensions:['.ts','.js']
    }
}